package com.bzkj.basicinfo.service.wms;

import com.bzkj.basicinfo.domain.wms.WmsStoStock;
import com.bzkj.basicinfo.domain.wms.WmsStoStockEntity;
import com.bzkj.basicinfo.domain.wms.dto.FreezeDto;
import com.bzkj.basicinfo.domain.wms.dto.WmsStoStockDto;
import com.bzkj.basicinfo.domain.wms.vo.RequestStoStockVo;
import com.bzkj.common.core.domain.AjaxResult;
import com.bzkj.common.core.domain.R;

/**
 * @author wl
 * @description 针对表【wms_sto_stock(库存表-批次商品货位)】的数据库操作Service
 * @createDate 2025-01-02 09:51:37
 */
public interface WmsStoStockService {

    /**
     * 限制出库类型
     *
     * @param entity
     * @return
     */
    R setOutboundLimit(WmsStoStockDto entity);

    AjaxResult updateOutboundLimit(WmsStoStockEntity entity);

    AjaxResult freeze(FreezeDto dto);

    R updateState(RequestStoStockVo vo);

    R getStoStateInfo(RequestStoStockVo vo);

    //=================批发版本库存相关接口=======================
    //查询接口
    AjaxResult queryAllStoStock(WmsStoStockDto dto);

    /**
     * 新增
     *
     * @param dto
     * @return
     */
    AjaxResult add(WmsStoStockDto dto);

    /**
     * 修改
     *
     * @param dto
     * @return
     */
    AjaxResult update(WmsStoStockDto dto);

    AjaxResult updateEnableState(String state,String id);

    /**
     * 删除
     *
     * @param id
     * @return
     */
    AjaxResult deleteById(String id);


}
